package com.mdd.front.vo.order;

import com.mdd.common.entity.OrderBillInfo;
import com.mdd.common.entity.order.OrderHandleLog;
import com.mdd.front.vo.sku.ProductSkuVo;
import com.mdd.front.vo.spu.ProductSpuDetailVo;
import com.mdd.front.vo.spu.ProductSpuVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

@Data
@ApiModel("订单详情")
public class OrderInfoDetailVo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "订单id")
    private Long id;
    @ApiModelProperty(value = "商家id")
    private Long deptId;
    @ApiModelProperty(value = "订单编号")
    private String orderSn;
    @ApiModelProperty(value = "用户Id")
    private Long userId;
    @ApiModelProperty(value = "订单总金额")
    private BigDecimal totalAmount;
    @ApiModelProperty(value = "应付金额（实际支付金额）")
    private BigDecimal payAmount;
    @ApiModelProperty(value = "支付方式：0->未支付;1->支付宝;2->微信")
    private Integer payType;
    @ApiModelProperty(value = "订单来源：0->PC订单;1->app订单 ,2支付宝小程序订单")
    private Integer sourceType;

    @ApiModelProperty(value = "" +
            "购物订单状态：0->待付款 1->待发货 2->已发货 3->已完成 4->已关闭 5->无效订单" +
            "租赁订单状态：0待支付 1待签约 2车辆准备中 3待提车 4租赁中 5待结算 6待确认 7已完成 8已取消" +
            "核销订单状态：0->待付款 1->待核销 2->已核销 3->已完成 4->已关闭 5->无效订单")
    private Integer status;
    @ApiModelProperty(value = "订单类型：0->购物订单;1->租赁订单;2->核销订单")
    private Integer orderType;
    @ApiModelProperty(value = "订单备注")
    private String note;

    /**
     * 还款计划
     */
    List<OrderBillInfoVo> orderBillInfos;
    @ApiModelProperty(value = "租赁信息")
    OrderLeaseDetailsDetailVo leaseDetailsDetail;
    @ApiModelProperty(value = "押金扣款记录")
    List<PreAuthorizationPaymentRecordListedVo> preAuthorizationPaymentRecords;
    @ApiModelProperty(value = "spu信息")
    ProductSpuVo productSpu;
    @ApiModelProperty(value = "sku信息")
    ProductSkuVo productSku;
}
